//  猴子吃桃问题：有一堆桃子，猴子第一天吃了其中的一半，并想再多吃一个！以后每天发现猴子都吃其中的一半，然后在
//多吃一个。当第10天的时候，想再吃时（即还没吃），发现只有一个桃子。问题：最初有几个桃子
public class Main {
    public static void main(String[] args) {
//数学思维：
        //1.设出最初的桃子为x，
        //2.第一天的桃子剩余x/2-1
        //3.第二天桃子剩下（x/2-1）/2-1
        //4.第三天桃子剩下[(x/2-1)/2-1]/2-1
        //5.  ...
        //6.第十天桃子=1

        //现在根据上上面的思想倒着推，用程序来程序进行
        //day=10时，1个桃子
        //day=9时，(day10+1)*2
        //（后一天的桃子+1）*2就是前一天的桃子...

        T t = new T();
        int res = t.peach(9);
        System.out.println(res);
    }
}

class T {
    public int peach(int days) {
        if (days == 10) {
            return 1;
        } else if (days >= 1 && days < 10) {
            return ((peach(days + 1) + 1)* 2);//days+1表示后一天桃子的个数
        }
        else {
            System.out.println("输入错误");
            return -1;//表示错误
        }
    }
}
